home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 11
/
FM Towns Free Software Collection 11.iso
/
t_os
/
data
/
mee
/
mee0113.plt
< prev
next >
Wrap
Text File
|
1995-08-20
|
30KB
|
1,504 lines
/*
mee 0.1.13 (0.2.2β)
All Right Reserved,
Copyright (c) 1995 M.Katsui FM77AV40(フォーティー)
*/
var ext[1];
var tab[1];
var cr[1];
var date[256];
var yyyy[4];
var yy[2];
var MM[2];
var dd[2];
var www[3];
var hh[2];
var mm[2];
var ss[2];
var mons[256];
var min[8];
min:=6000;
ext:=@xc({03});
tab:=@xc({09});
cr:=@xc({0D});
mons:={ Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec};
var meeversion[128];
var busytime[8];
var noacttime[8];
var dulytime[8];
var linetype[8];
var bbstype[8];
var retry[8];
var retrycount[8];
var bbsname[3];
var sysdir[8];
var logdir[8];
var listdir[8];
var tmpdir[8];
var dlist [1024*3];
var newnam [16];
var ppath [16];
var dlname [16];
var listcval [16];
var lz [3];
var escch[1];
var pathch[1];
escch:={/};
pathch:={/};
meeversion := {mee 0.1.13 (0.2.2β)};
busytime := 600;
noacttime := 300;
dulytime := 20;
retry := 100;
retrycount := 0;
sysdir := {a:\};
logdir := {b:\};
listdir := {b:\list\};
tmpdir := {d:\};
var chkketa[4];
var chkmoji[256];
var lstchkketa[4];
var lstchkmoji[256];
var lstnamketa[4];
var lstcutnamketa[4];
var lstatketa[4];
var lstcutatketa[4];
var lsttoketa[4];
var lstcuttoketa[4];
var lstsubj[4];
var lstcutsubj[4];
var djllchketa[4];
var djllchmoji[256];
var tncdcmoji[256];
var discmoji[256];
djllchketa := 42;
djllchmoji := {/};
lstchkketa := 42;
lstchkmoji := {/};
lstnamketa := 1;
lstcutnamketa := 5;
lstatketa := 31;
lstcutatketa := 6;
lsttoketa := 17;
lstcuttoketa := 6;
tncdcmoji := {*** DISCONNECTED [};
discmoji := tncdcmoji;
%init{
code({sjis});
chat({Yes});
};
%tncset{
cmdchk;
setdate;
type({daytime }|yy|MM|dd|hh|mm|ss|cr);
cmdchk;
type({autolf y\npassa n\nmc n\ncstamp y\nconst on\n});
cmdchk;
};
%cmdchk{
type(ext|ext|ext);
wait (1);
case(linetype = {tnc} ,{Yes},{type({\n});},{No},{type({AT\n});});
wait (3,{cmdchk},
{cmd:},{im({tnc});linetype:={tnc};},
{OK},{im({modem});linetype:={modem};}
);
};
%setdate{
date:=@daylong;
yy:=@getchar(date,3,2);
MM:=@getchar(date,6,2);
dd:=@getchar(date,9,2);
www:=@getchar(date,12,3);
hh:=@getchar(date,16,2);
mm:=@getchar(date,19,2);
ss:=@getchar(date,22,2);
};
%months{[n]
im(@getchar(mons,n*4-2,3));
};
%monnam{[ptn]
im((@nochar(@head(mons,ptn))+3)/4);
};
%grep {[n,prt]
display(n|{秒間}|prt|{待ち});
wait (n,,
prt,{display(prt|{発見});},
);
};
%next{[min]
cmdchk;
type({d\n});
case(linetype,
{tnc},{wait (60,,
discmoji,{display({ディスコネ確認});},
{Link state is: DISCONNECTED},{
display({ディスコネ確認\n});
}
);}
);
grep(min,{: <<D>>:});
display({次行ってみよー});
innext(dulytime);/*wait(dulytime);*/
};
%Call {[input]
tncset;
cmdchk;
type({c }|input|cr);
display(input|{にコネクト掛けています});
wait (600,{end},
{*** retry count exceeded},{
display({あれれ?いないのかな});
case(retrycount>retry,{Yes},{display({リトライ超過});exit;});
retrycount:=retrycount+1;
display({リトライ(}|retrycount|{/}|retry|{)});
next(noacttime);Call(input);},
discmoji,{
display({ディスコネ});
case(retrycount>retry,{Yes},{display({リトライ超過});exit;});
retrycount:=retrycount+1;
display({リトライ(}|retrycount|{/}|retry|{)});
next(noacttime);Call(input);},
{*** }|@head(input,{ })|{ busy},{
display({ビジ-です});
case(retrycount>retry,{Yes},{display({リトライ超過});exit;});
retrycount:=retrycount+1;
display({リトライ(}|retrycount|{/}|retry|{)});
next(busytime);
Call(input); },
{*** CONNECTED to },{display(input|{にコネクトしました\n});retrycount:=0});
};
%ch{[n,prt]
wait (n,{exit;},
prt,{display(/*prt|*/{確認});},
discmoji,{display({ディスコネ});{exit;};}
);
};
%end{
cmdchk;
type({d\n});
wait (60,{stop},
discmoji, {display({ディスコネ確認});},
{Link state is: DISCONNECTED},{display({ディスコネ確認});}
);
stop;
};
%exit {
dlist := {};
retrycount := 0 ;
discon;
case (dlname<>{},{Yes}, {stoprec; dlname:={};});
case (newnam<>{},{Yes}, {plistpoint(bbsname,ppath,newnam);newnam:={};},);
pad := point;
display(count|{/}|potcount|{ }|busytime|{秒間待ち});
case (count = potcount , {Yes} , {stop;});
count := count + 1 ;
next(busytime);
shellmina;
stop;
};
var val[3];
%nread{[n,ptn,ptn2,act2]
loop({
wait(n,{exit;},
ptn2,{display(ptn2|{次のメッセージへ\n});type(act2|{\n});val:={Yes};},
discmoji,{display({ディスコネ});{exit;};},
ptn,{val:={No};}
);
im(val);
});
};
/*%nread{[n,ptn,ptn2,act2]
wait(n,{exit;},
ptn2,{display(ptn2|{次のメッセージへ\n});type(act2|{\n});nread(n,ptn,ptn2,act2);},
discmoji,{display({ディスコネ});{exit;};},
ptn, {display({終了});}
);
};
*/
%fileup{[file]
var up[256*10];
type( @read(logdir|file) );
};
%del{[file]
wait(1);
case(@filechk(file),{Yes},{command({del }|file);});
};
%fcopy{[file,ptn]
wait(1);
case(@filechk(file),{Yes},{command({copy }|file|{ }|ptn);});
};
var pad[1024*10];
var a [1024*10];
var tmp [1024*10];
var b [256];
var c [256];
var d [256];
var e [256];
var f [256];
var i [16];
var p [256];
var s [1024*10];
var sd [256];
sd:=pathch;
var point [1024*10];
var count [16];
var potcount [16];
init;
%skip{[ptna]
var p[256];
var val[3];
a:=@wdel(ptna);
p:=@head(@head(@head(a,{\n}),{ }),tab);
case(@instr(p,{"})=0,
{Yes},{a:=@getchar(a,@nochar(p)+1);},
{No},{a:=@body(a,{"});
loop({
val:=@nochar(@head(a,escch))<@nochar(@head(a,{"}));
case(val,{Yes},{
a:=@getchar(@body(a,escch),2);
},);
im(val);
});
a:=@body(a,{"});
},
);
im(a);
};
%wadcut{[ptna]
var p[1024*16];
var pp[256];
var w[3];
var val[3];
w :={Yes};
p:={};
a:=@wdel(ptna);
/*display({a(}|@head(a,{\n})|{)});*/
case(@getchar(a,1,1),
{"},{
a:=@body(a,{"});
loop({
val:=@nochar(@head(a,escch))<@nochar(@head(a,{"}));
case(val,
{Yes},{
p:=p|@head(a,escch)|escch;
a:=@body(a,escch);
pp:=@nochar(p)-1;
case(@getchar(a,1,1),
escch,{
/*p:=p|escch;*/
a:=@getchar(a,2);
},
{"},{p:=@getchar(p,1,pp)|{"};
a:=@getchar(a,2);
},
{s},{p:=@getchar(p,1,pp)|{ };
a:=@getchar(a,2);
},
{@},{p:=@getchar(p,1,pp)|{@};
a:=@getchar(a,2);
},
);},
);
im(val);
});
p:=p|@head(a,{"});
a:=@body(a,{"});
w:={};
},
{.},{w:={};},
{@},{w:={};},
);
case(w,
{Yes},{
p:=@head(@head(@head(a,{\n}),{ }),tab);
a:=@getchar(a,@nochar(p)+1);
case(@getchar(p,1,1),
{^},{p:=@ld(@getchar(p,2));
},
);
}
);
im(p);
};
%wdel{[ptna]
val:={No};
case(@getchar(ptna,1,1),
{ },{a:=@getchar(ptna,2);a:=@wdel(a);},
{\n},{a:=@getchar(ptna,2);a:=@wdel(a);},
tab,{a:=@getchar(ptna,2);a:=@wdel(a);}
);
im(a);
};
%spdel{[t]
case(
{ } = @getchar(t,1,1) ,
{Yes}, {
s := @getchar(t,2,);
s := @spdel(s);
},
{No}, {
s:=t;
},
);
im(s);
};
%crdel{[t]
case(
0 = @nochar(@head(t,{\n})) ,
{Yes}, {
s := @body(t,{\n});
s := @crdel(s);
},
{No}, {
s:=t;
},
);
im(s);
};
%shellmina{
var plabel[1024];
var ppad[10];
a := pad;
loop({
a := @body(a,{.});
footnote(meeversion |{ 動作中 コマンド(}|@head(@head(@head(a,{ }),{\n}),tab)|{)});
/* wait(1); display({コマンド(}|@head(a,{\n})|{)\n} );*/
case(@head(@head(@head(a,{\n}),{ }),tab),
{fileup},{rfileup;},
{uptxt},{ruptxt;},
{upxm},{rupxm;},
{upym},{rupym;},
{put},{/*display({プットル-チン});*/rput;},
{chk},{/*display({チェックル-チン});*/ rchk;},
{chr}, {rchread;},
{nr},{/*display({マルチリ-ドル-チン});*/rnr;},
{dlst},{rdlst;},
{dlxm},{rdlxm;},
{dlym},{rdlym;},
{save},{rsave;},
{lzsave},{rlzsave;},
{rec},{rrec;},
{getlist},{rgetlist;},
{djlnri},{rdjlnri;},
{djlnr},{rdjlnr;},
{bbsname},{rbname;},
{setsys},{rsetsys;},
{setbbs},{rsetbbs;},
{tncset},{rtncset;},
{pot},{/*display({リトライポイント});*/rpoint;},
{ref},{rref},
{rts},{rrts},
{next},{rnext;},
{offtime},{rofftime},
{sttime},{rsttime},
{grep},{rgrep;},
{baud},{rbaud;},
{dial},{rdial;},
{mailr},{rmailr;},
{call},{/*display({コネクトル-チン});*/ rcall;},
{inchk},{rinchk;},
{innext},{rinnext;},
{dlend},{rdlend;},
{disc},{/*display({ディスコネル-チン});*/ rdisc;},
{cutpoint},{rcutpoint;},
{dos},{rdos;},
{rem},{rrem;},
{link},{rlink;},
{sd},{rsd},
{st},{rst;},
{getc},{rgetc;},
{putc},{rputc;},
{putcl},{rputcl;},
);
case(@getchar(a,1,1),pathch,{rlabel;});
case(@getchar(a,1,1),{.},{a:=sd|@getchar(a,2);rlabel;});
/* display({a(}|a|{)}|{p(}|p|{)});*/
/* display({コマンド}|@head(@body(a,{.}),{\n}));*/
i:= {eof} <> @head(@head(@head(a,{\n}),{ }),tab);
i:= i && ( a <> {} );
/* display(i);*/
/*wait(1);*/
im(i);
});
};
%rlabel{
var aa[1024*16];
var val[3];
b:={@}|@wadcut(a);
plabel:=plabel|{ }|@nochar(pad)+1-@nochar(a);
/*wait(1); display({(}|plabel|{)\n} );*/
aa:=pad;
tmp:=a;
a:={};
loop({
/* aa:=a;
a:=@body(aa,b);
aa:=@head(aa,b);*/
a:=@tail(aa,b)|b|a;
aa:=@body(aa,,b);
c:=@getchar(aa,@nochar(aa),1);
val:=c<>{.} && c<>escch;
im(!val);
});
/*wait(1); display({%jsr(}|b|@head(a,{\n})|{)\n} );*/
};
%rrts{
b:=@wadcut(a);
b:=@tail(plabel,{ });
plabel:=@body(plabel,{},{ });
/*display({ret(}|b|{)}|plabel|{\n} );*/
a:=@getchar(pad,b);
/*wait(1); display({(}|@head(a,{\n})|{)\n} );*/
};
%rlink{
b:=@wadcut(a);
tmp:=@read(sysdir|@wadcut(a));
pad:=pad|tmp;
a:=a|tmp;
};
%rsd{
b:=@wadcut(a);
b:=@wadcut(a);
case(@getchar(b,1,1)=pathch,
{Yes},{sd:=b;},
{No},{sd:=sd|b;}
);
};
%rst{
b:=@wadcut(a);
b:=@wadcut(a);
c:=@wadcut(a);
st(b,@esca(c));
};
%ld{[ptn]
var b[1024];
var c[1024*16];
tmp:=a;
case(@getchar(ptn,1,1)=pathch,
{Yes},{b:={@}|ptn;},
{No},{b:={@}|sd|ptn;}
);
case(a <> @head(a,b),
{Yes},{c :=@wadcut(@tail(a,b));
},
);
a:=tmp;
im(c);
};
%st{[ptn,c]
var b[1024];
case(@getchar(ptn,1,1)=pathch,
{Yes},{b:={@}|ptn;},
{No},{b:={@}|sd|ptn;}
);
/*display({%st}|b|{,}|c|{)});*/
case(a <> @head(a,b),
{Yes},{a := @body(a,,b) |{\n}|b|{ }|c|{ }|@skip(@tail(a,b));
pad := @body(pad,,b) |{\n}|b|{ }|c|{ }|@skip(@tail(pad,b));
},
{No},{a:= a|{\n}|b|{ }|c|{ };
pad:=pad|{\n}|b|{ }|c|{ };
},
);
/*display({a(}|a|{)});*/
};
%rgetc{
b:=@wadcut(a);
b:={@}|@wadcut(a);
st(b,@esca(@input({},{u})));
};
%rputc{
b:=@wadcut(a);
display(@wadcut(a));
};
%rputcl{
b:=@wadcut(a);
footnote(@wadcut(a));
};
%esca{[ptn]
var b[1024];
var bb[1024];
var bc[1024];
var bd[1024];
bb:=ptn;
loop({
val:=@nochar(@head(bb,escch))<@nochar(bb);
case(val,{Yes},{
b:=b|@head(bb,escch)|escch|escch;
bb:=@body(bb,escch);
},
);
im(val);
});
case(b={},
{Yes},{bb:=ptn;},
{No},{bb:=b;},
);
b:={};
bc:=bb;
loop({
val:=@nochar(@head(bb,{"}))<@nochar(bb);
case(val,{Yes},{
b:=b|@head(bb,{"})|escch|{"};
bb:=@body(bb,{"});
},);
im(val);
});
case(b={},
{Yes},{bb:=bc;},
{No},{bb:=b;},
);
b:={};
bd:=bb;
loop({
val:=@nochar(@head(bb,{@}))<@nochar(bb);
case(val,{Yes},{
b:=b|@head(bb,{@})|escch|{@};
bb:=@body(bb,{@});
},);
im(val);
});
case(b={},
{Yes},{b:=bc;},
);
im({"}|b|{"});
};
%rrem{
b:=@wadcut(a); /*ner;*/
};
%rsetbbs{
b:=@wadcut(a);
loop({
b:=@wadcut(a);
case(@strupr(b),
{TYPE:},{bbstype:=@strupr(@wadcut(a));},
{NAME:},{bbsname:=@strupr(@wadcut(a));},
{CHK:},{c:=@wadcut(a);lstchkketa:=@head(c,{[});lstchkmoji:=@tail(c,{[},{]});},
{NAM:},{c:=@wadcut(a);lstnamketa:=@head(c,{[});lstcutnamketa:=@tail(c,{[},{]});},
{AT:},{c:=@wadcut(a);lstatketa:=@head(c,{[});lstcutatketa:=@tail(c,{[},{]});},
{TO:},{c:=@wadcut(a);lsttoketa:=@head(c,{[});lstcuttoketa:=@tail(c,{[},{]});},
{SUBJ:},{c:=@wadcut(a);lstsubj:=@head(c,{[});lstcutsubj:=@tail(c,{[},{]});},
);
im(b<>{});
/*display({b(}|b|{)});
wait(1);*/
});
display({識別桁}|lstchkketa|{ 識別文字}|lstchkmoji|{ TO桁}|lsttoketa|{ TO桁数}|lstcuttoketa|{ 他省略^"^;});
};
%rsetsys{
b:=@wadcut(a);
loop({
b:=@wadcut(a);
case(@strupr(b),
{SYSDIR:},{sysdir:=@wadcut(a);},
{LOGDIR:},{logdir:=@wadcut(a);},
{TMPDIR:},{tmpdir:=@wadcut(a);},
{LISTDIR:},{listdir:=@wadcut(a);},
);
im(b<>{});
/*display({b(}|b|{)});
wait(1);*/
});
display({システムdir}|sysdir|{ 格納dir}|logdir|{ 退避dir}|tmpdir|{ listdir}|listdir);
};
%rcutpoint{
b:=@wadcut(a); /*a := @spdel(@body(a,{cutpoint}));*/
};
%rdos{
b:=@wadcut(a); /*a := @spdel(@body(a,{dos}));*/
b:=@wadcut(a);
command(b);
};
%rtncset{
b:=@wadcut(a); /*ner;*/
tncset;
};
%rpoint{
b:=@wadcut(a);
potcount:=@wadcut(a)+0;
display(potcount|{回迄});
point:=a;
count:=1;
};
%rref{
a:=pad;
};
%rnext{
b:=@wadcut(a); /*a:=@body(a,{ }); *display({中身}|a);*/
b:=@wadcut(a); /*b:=@rnk;*/
next(b);
};
%rofftime{
b := @wadcut(a); /*a := @spdel(@body(a,{offtime}));*/
b := @wadcut(a); /*b:=@rnk;*/
loop({
setdate;
case( @nochar(b) <> @nochar( @head(b,hh|{:}) ) ,
{Yes},{footnote(hh|{時なので時間待ちをします});wait(60);}
);
im(@nochar(b) <> @nochar(@head(b,hh|{:})));
});
footnote(meeversion |{ 動作中});
};
%rsttime{
b := @wadcut(a);
b := @wadcut(a);
loop({
setdate;
case( b <> mm ,
{Yes},{footnote(b|{分まで時間待ちをします});wait(10);}
);
im(b <> mm);
});
footnote(meeversion |{ 動作中});
};
%rgrep{
b:=@wadcut(a); /*a:=@body(a,{ });*/
b:=@wadcut(a); /*b:=@rnk;*/
c:=@wadcut(a);
grep(b,c);
};
%rcall{
b:=@wadcut(a); /*a:=@body(a,{ }); *display({中身}|a);*/
b:=@wadcut(a); /*b:=@rnk;*/
Call(b);
};
%rdlst{
b:=@wadcut(a); /*ner;*/
b:=@wadcut(a); /*b:=@rnk;*/
c:=@wadcut(a);
setdate;
receive(logdir|@day|hh|mm|c|{.}|b);
dlname := logdir|@day|hh|mm|c|{.}|b;
};
%rdlxm{
b:=@wadcut(a); /*ner;*/
b:=@wadcut(a); /*b:=@rnk;*/
c:=@wadcut(a);
case (dlname<>{},{Yes}, {stoprec;});
setdate;
receivex(logdir|@day|hh|mm|c|{.}|b);
stoprec;
case (dlname<>{},{Yes}, {receive(dlname);});
};
%rdlym{
b:=@wadcut(a); /*ner;*/
b:=@wadcut(a); /*b:=@rnk;*/
c:=@wadcut(a);
case (dlname<>{},{Yes}, {stoprec;});
setdate;
receivey(logdir|@day|hh|mm|c|{.}|b);
stoprec;
case (dlname<>{},{Yes}, {receive(dlname);});
};
%rsave{
b:=@wadcut(a);
b:=@wadcut(a);
c:=@wadcut(a);
setcdir(logdir);
display({D/L(}|b|{.}|c|{)});
receive(b|{.}|c);
dlname := b|{.}|c;
};
%rlzsave{
b:=@wadcut(a);
b:=@wadcut(a);
c:=@wadcut(a);
setcdir(tmpdir);
d:=logdir|@getchar(@tail(b,{:})|{log},1,8)|{.lzh};
case(@filechk(d),{Yes},
{wait(1);
command(sysdir|{lha e -m }|d|{ }|@getchar(@tail(b,{:}),1,8)|{.}|c);
case(@filechk(@getchar(@tail(b,{:}),1,8)|{.}|c),{No},{end;});
}
);
display({D/L(}|b|{.}|c|{)});
receive(@tail(b,{:})|{.}|c);
dlname := b|{.}|c;
lz:={Y};
};
%rrec{
b:=@wadcut(a);
b:=@wadcut(a);
setcdir(logdir);
received(b);
dlname := b|{.}|@day;
};
%rdlend{
b:=@wadcut(a); /*ner;*/
case (dlname<>{},
{Yes}, {
stoprec;
case(lz,{Y},{wait(1);
command(sysdir|{lha m -m }|logdir|
@getchar(@head(@tail(dlname,{:}),{.})|{log},1,8)|{ }|
tmpdir|@getchar(@head(@tail(dlname,{:}),{.}),1,8)|{.}|
@tail(dlname,{.})
|{ >}|tmpdir|{lha.msg});
case(@filechk(tmpdir|@tail(dlname,{:})),
{Yes},{display(dlname|{ファイルが書けません});
end;
});
/* del(tmpdir|dlname);*/
lz:={};
}
);
dlname:={};
}
);
};
%rbname{
b:=@wadcut(a); /*a := @spdel(@body(a,{bbsname}));*/
bbsname := @wadcut(a);
};
%rgetlist{/*[n,prt,bbs,poinpath]*/
b:=@wadcut(a); /*a := @spdel(@body(a,{getlist}));*/
b:=@wadcut(a); /*b := @rnk;*/
c:=@wadcut(a);
d:=@wadcut(a);
e:=@wadcut(a);
display({1(}|b|{) 2(}|c|{) 3(}|d|{) 4(}|e|{)} );
type({ll 1\n});
ch(b,c);
ch(b,{>});
p:=@getchar(@tail(@body(@body(@laststr(128),,c),,{\n}),{\n}),1,5)+0;
type({l }|@glistpoint(d,e)|{ }|p|{\n});
chread(b,c,{/});
ch(b,{>});
plistpoint(d,e,p);
listcval:={Yes};
};
%rdjlnri{/*[bbsname,poinpath,toname,atname]*/
b := @wadcut(a); /*a := @spdel(@body(a,{djlnri}));*/
b := @wadcut(a);/*BBSname*/
c := @wadcut(a);/*poinpath*/
d := @wadcut(a);/*toname*/
e := @wadcut(a);/*atname*/
display({%rdjlnri 1(}|b|{) 2(}|c|{) 3(}|d|{) 4(}|e|{)\n} );
dlist := @listget3(b,d,e,@glistpoint(b,c)+1|{ 5626});
del(logdir|b|@tail(@body(c,,{\}),{\},{*})|{.lst});
write(logdir|b|@tail(@body(c,,{\}),{\},{*})|{.lst},dlist);
bbsname := b;
ppath := c;
};
%rdjlnr{/*[n,prt,filename,poinpath]*/
b:=@wadcut(a); /*a:=@spdel(@body(a,{djlnr}));*/
b:=@wadcut(a); /*b:=@rnk; *n*/
c:=@wadcut(a);
d:=@wadcut(a);
e:=@wadcut(a);
/*display({%rdjlnr 1(}|b|{) 2(}|c|{) 3(}|d|{) 4(}|e|{)\n} );*/
var newnam1[5];
bbsname := d;
ppath := e;
tmp := a;
dlist := @read(logdir|d|@tail(@body(e,,{\}),{\},{*})|{.lst});
/*newnam :=@head(dlist,{ });
dlist :=@body(dlist,{ });
type({r }|newnam|{\n});
ch(b,c);*/
/*plistpoint(d,e,newnam);*/
/*plistpoint(bbsname,ppath,newnam);*/
case (dlist<>{},{Yes},{
loop({
newnam1 :=@head(dlist,{ });
dlist :=@body(dlist,{ });
type({r }|newnam1|{\n});
ch(b,c);
ch(b,{>});
newnam := newnam1;
/* plistpoint(d,e,newnam1);*/
im(dlist<>{});
});
});
case (newnam<>{},{Yes},
{plistpoint(bbsname,ppath,newnam);newnam:={};
del(logdir|d|@tail(@body(e,,{\}),{\},{*})|{.lst});
}
);
/*plistpoint(d,e,newnam);*/
a:= tmp;
};
%rchk{
b:=@wadcut(a); /*a:=@body(a,{ });*/
b:=@wadcut(a); /*b:=@rnk;*/
c:=@wadcut(a);
/*display({%ch 1(}|b|{) 2(}|c|{)} );*/
ch(b,c);
};
%rinchk{
b:=@wadcut(a);
b:=@wadcut(a);
footnote(b|{秒間 入力チェック});
case(@inchk(b),
{No},{ footnote(meeversion|{ 動作中});
display({入力無し\n});exit;}
);
footnote(meeversion |{ 動作中});
};
%rinnext{
b:=@wadcut(a);
b:=@wadcut(a);
innext(b);
};
%innext{[b]
var c[8];
c:= 0;
loop({
footnote({応答チェック中 秒読み(}|b-c|{)});
case(@inchk(1),
{Yes},{c:=c+1;},
{No},{c:=0;}
);
im(b>c);
});
display({応答無し\n});
footnote(meeversion |{ 動作中});
};
%rput{
b:=@wadcut(a); /*a:=@body(a,{ }); *display({中身}|a);*/
b:=@wadcut(a); /*b:=@rnk;*/
type(b);
display({送信(}|b|{)});
};
%rnr{
b:=@wadcut(a); /*a:=@body(a,{ }); *display({中身}|a);*/
b:=@wadcut(a); /*b:=@rnk;*/
c:=@wadcut(a);
d:=@wadcut(a);
e:=@wadcut(a);
display({1(}|b|{) 2(}|c|{) 3(}|d|{) 4(}|e|{)} );
nread(b,c,d,e);
};
%rfileup{
b:=@wadcut(a); /*a:=@body(a,{ }); *display({中身}|a);*/
b:=@wadcut(a); /*b:=@rnk;*/
c:=@wadcut(a);
fileup(b|{.}|c);
};
%ruptxt{
b:=@wadcut(a);
b:=@wadcut(a);
c:=@wadcut(a);
case (dlname<>{},{Yes}, {stoprec;});
send(b|{.}|c);
case (dlname<>{},{Yes}, {receive(dlname);});
};
%rupxm{
b:=@wadcut(a);
b:=@wadcut(a);
c:=@wadcut(a);
case (dlname<>{},{Yes}, {stoprec;});
sendx(b|{.}|c);
case (dlname<>{},{Yes}, {receive(dlname);});
};
%rupym{
b:=@wadcut(a);
b:=@wadcut(a);
c:=@wadcut(a);
case (dlname<>{},{Yes}, {stoprec;});
sendy(b|{.}|c);
case (dlname<>{},{Yes}, {receive(dlname);});
};
%rdisc{
b:=@wadcut(a);
discon;
cmdchk;
case(linetype,
{tnc},{
type({d\n});
wait (60,{stop},
{*** DISCONNECTED},{display({ディスコネ確認});},
{Link state is: DISCONNECTED},{display({ディスコネ});},
);},
);
case (dlname<>{},{Yes}, {stoprec; dlname:={};});
case (newnam <> {} , {Yes} , {plistpoint(bbsname,ppath,newnam);newnam := {};},);
newnam := {};
};
%mailr{
loop({
wait(20,{exit},
{0:end >}, {
type({\n});
wait(120,{exit;},
{削除しますか? (Y/N)>},{type({y\n});val:={Yes};},
{?,G)>},{val:={No};display({プロントプト確認});}
);
},
{>>},{val:={No};display({プロントプト確認});},
{?,G)>},{val:={No};display({プロントプト確認});}
);
im (val);
});
};
%rmailr{
b:=@wadcut(a); /* ner;*/
mailr;
};
%rchread{
b:=@wadcut(a); /*a:=@body(a,{ }); *display({中身}|a);*/
b:=@wadcut(a); /*b:=@rnk;*/
c:=@wadcut(a);
d:=@wadcut(a);
chread(b,c,d);
};
var val[3];
%chread{[n,ptn,ptn2]
loop({
wait(n,{exit;},
ptn2,{/*display(ptn2|{次のメッセージへ\n});*/val:={Yes};},
{*** DISCONNECTED [},{display({ディスコネ});{exit;};},
ptn,{val:={No};}
);
im(val);
});
};
%rdial{
b:=@wadcut(a); /*a:=@body(a,{ }); *display({中身}|a);*/
b:=@wadcut(a); /*b:=@rnk;*/
tel(b);
display({コネクト確認});
};
%tel{[b]
dialone({atd }|b ,{retrycount:=0;},{
case(retrycount>retry,{Yes},{exit;});
retrycount:=retrycount+1;
next(busytime);tel(b);
});
};
%rbaud{
b:=@wadcut(a); /*a:=@body(a,{ });*/
b:=@wadcut(a); /*@rnk;*/
display({b(}|b|{)});
baud(b);
};
%inchk{[a]
p:= @laststr;
wait(a);
im(p = @laststr);
};
%ucase{[a]
strupr(a);
};
%strupr{[a]
var aluha[256];
var ALUHA[256];
var b[256];
var i[3];
var j[256];
var t[1];
aluha := {$abcdefghijklmnopqrstuvwxyz};
ALUHA := {#ABCDEFGHIJKLMNOPQRSTUVWXYZ};
i := 0;
case(a={} ,{No},{
loop({
i:= i+1 ;
t:= @getchar(a,i,1);
j:= @head(aluha,t);
case((j={}) <> (j=aluha),{Yes},{b:=b|t;},
{No},{
b:=b|@getchar(ALUHA,@nochar(j)+1,1);}
);
im(i < @nochar(a) );
});
});
im(b);
};
%ccomp{[ptn,ptn2]
p := @head(ptn2,{*});
im(@getchar(ptn,1,@nochar(p)) = p);
};
%instr{[ptn,ptn2]
var p[256];
p:=@nochar(ptn);
case(p>=@nochar(ptn2),
{Yes},{
case(@nochar(@body(ptn,ptn2))=0,
{Yes},{
case(@getchar(ptn,p+1-@nochar(ptn2))<>ptn2,
{Yes},{p:=0;},
);
},
{No},{
p:=@nochar(@head(ptn,ptn2))+1;
}
);
},
{No},{p:=0}
);
im(p);
};
%chkch{
case(to={},
{No},{chkmoji:=to; chkketa:=lsttoketa;},
{Yes},{chkmoji:=lstchkmoji; chkketa:=lstchkket;
case(at={},
{No},{chkmoji:=at; chkketa:=lstatketa;},
);}
);
};
%listv{[file,ptn,ptn2,line]
var a[1024*10];
var b[5];
var log[1024*10];
var linel[5];
var lineh[5];
var to[256];
var at[256];
/*display({%listv 1(}|file|{) 2(}|ptn|{) 3(}|ptn2|{) 4(}|line|{)\n} );*/
linel := @head(line,{ })+0;
lineh := @body(line,{ })+0;
to:=@strupr(ptn);
at:=@strupr(ptn2);
case(@body(to,,{*})={},{Yes},{to:=to|{ };});
case(@body(at,,{*})={},{Yes},{at:=at|{ };});
to:=@head(to,{*});
at:=@head(at,{*});
display({%listv (}|file|{) to(}|to|{) at(}|at|{) line(}|linel|{,}|lineh|{)\n} );
chkch;
fopen(file);
loop({
a := @fread(chkketa,chkmoji);
footnote({0(}|a|{)});
case(@getchar(a,lstchkketa,@nochar(lstchkmoji)) =lstchkmoji ,
{Yes},{footnote({1(}|a|{)});
case(@instr(a,discmoji)=0,
{Yes},{footnote({2(}|a|{)});
case(@getchar(a,lstnamketa,lstcutnamketa) >= linel ,
{Yes},{
case(@getchar(a,lstnamketa,lstcutnamketa) <= lineh ,
{Yes},{
case(@ccomp(@getchar(a,lsttoketa,@nochar(to)),to),
{Yes},{
case(@ccomp(@getchar(a,lstatketa,@nochar(at)),at),
{Yes},{
case(@getchar(a,lstnamketa,lstcutnamketa) <> b,{Yes},{
log :=log | a ;
b:= @getchar(a,lstnamketa,lstcutnamketa);
display(a);
});
});
});
});
});
});
});
/* wait(1);*/
im(a <> {});
});
fclose;
im(log);
};
%getdir{[ptn]
wait(1);
command({dir }|ptn|{ }|/*{|}|logdir|{sort }*/{>}|logdir|{dir___.dir});
im(@read(logdir|{dir___.dir}));
};
%fgrep{[infile,ptn,outfile]
var in[1024*5];
var out[1024*5];
in := @read(infile);
loop({
out := out| @tail(@head(in,ptn),{\n}) |ptn|@head(@body(in,ptn),{\n})|{\n};
in := @body(in,ptn);
im(in<>{});
});
case(@filechk(outfile),{Yes},{wait(1);command({del }|outfile);});
write(outfile,out);
im(out);
};
%listgrep{[file,ptn,ptn2,line]
var a[1024*5];
var b[5];
var log[1024*5];
var to[256];
var at[256];
to:=@strupr(ptn);
at:=@strupr(ptn2);
case(@body(to,,{*})={},{Yes},{to:=to|{ };});
case(@body(at,,{*})={},{Yes},{at:=at|{ };});
to:=@head(to,{*});
at:=@head(at,{*});
chkch;
fopen(file);
loop({
a := @fread(chkketa,chkmoji);
case(@getchar(a,lstnamketa,lstcutnamketa) >= line ,
{Yes},{
footnote(a);
case(@ccomp(@getchar(a,lsttoketa,@nochar(to)),to),
{Yes},{
case(@ccomp(@getchar(a,lstatketa,@nochar(at)),at),
{Yes},{
case(@getchar(a,lstnamketa,lstcutnamketa) <> b,{Yes},{
log:=log|@getchar(a,lstnamketa,lstcutnamketa)+0 |{ } ;
b:= @getchar(a,lstnamketa,lstcutnamketa);
display(a);
});
});
});
});
/*wait(1);*/
im(a <> {});
});
fclose;
im(log);
};
%glistpoint{[bbs,lpath]
var lp [1024];
/*display({%glistpoint 1(}|bbs|{) 2(}|lpath|{)\n} );*/
/*display(logdir|{listpoint.}|bbs|{\n});*/
lp := @read(logdir|{listpoint.}|bbs);
/*display({path(}|@ucase(lpath)|{) nam(}|@head(@body(lp,@ucase(lpath)),{\n})|{)\n} );*/
im(@head(@body(lp,@strupr(lpath)),{\n}));
};
%plistpoint{[bbs,lpath,pot]
var lp [1024*5];
var la [1024*5];
lp := @read(logdir|{listpoint.}|bbs);
display({(}|lpath|{)}|pot|{ポインタ更新\n});
case(lp <> @head(lp,@strupr(lpath)),
{Yes},{la := @head(lp,@strupr(lpath)) |@strupr(lpath)|pot|{\n}|
@body(@body(lp,@strupr(lpath)),{\n});
},
{No},{la:= lp|@strupr(lpath)|pot|{\n};
}
);
wait(1);
command({copy }|logdir|{listpoint.}|bbs|{ }|logdir|{listpoint.}|{1st});
wait(1);
command({del }|logdir|{listpoint.}|bbs);
write (logdir|{listpoint.}|bbs,la);
};
%getlist3{[bbs,line]
var dirbak[1024*10];
var flist[1024*5];
var afile[16];
var out[1024*10];
var to[7];
var at[7];
case(@filechk(logdir|bbs|{dir.bak}),
{Yes},{
dirbak:=@read(logdir|bbs|{dir.bak});
}
);
getdir(logdir|{.}|bbs);
wait(1);
command(sysdir|{sort <}|logdir|{dir___.dir >}|tmpdir|{dir___.srt});
/*display(@read(tmpdir|{dir___.srt}));*/
flist:=@crdel(@fgrep(tmpdir|{dir___.srt},{# },logdir|{#dir.dir}));
display(flist);
loop({
case(@instr( dirbak,@tail(@head(flist,{\n}) ,{\n}) ) = 0,
{Yes},{
afile:=logdir|@tail(@head(flist,{ }),{\n})|{.}|bbs;
display(afile);
case(@filechk(afile),
{Yes},{listcut(afile,line);}
);
wait(1);
}
);
flist:=@body(flist,{\n});
im(flist <> {});
});
del(logdir|bbs|{dir.bak});
wait(1);
command({rename }|logdir|{#dir.dir }|bbs|{dir.bak});
case(@filechk(logdir|bbs|{sort.bak}),
{Yes},{dirbak:=@read(logdir|bbs|{sort.bak});},
{No},{display(logdir|bbs|{sort.bakが見つかりません});}
);
flist:=@getdir(listdir|bbs|{list#.*});
loop({
/*display(listdir|@tail(@head(flist,{ }),{\n})|{.}|@getchar(@body(flist,{ }),1,3)|{\n});*/
case(@instr(dirbak,@tail(@head(flist,{\n}),{\n})) = 0,
{Yes},{
afile:=@tail(@head(flist,{ }),{\n})|{.}|@getchar(@body(flist,{ }),1,3);
case(@filechk(listdir|afile),
{Yes},{
wait(1);
command(sysdir|{sort <}|listdir|afile|{ >}|tmpdir|{sort.tmp});
del(listdir|afile);
write(listdir|afile,@listv(tmpdir|{sort.tmp},{*},{*},{1 99999}));
/*fcopy(logdir|{sort.tmp},afile);*/
}
);}
);
flist:=@body(flist,{\n});
im(flist <> {});
});
getdir(listdir|bbs|{list#.*});
del(logdir|bbs|{sort.bak});
wait(1);
command({rename }|logdir|{dir___.dir }|bbs|{sort.bak});
listcval := {No}
};
%listcut{[file,line]
var a[1024*10];
var b[5];
var log[1024*10];
var linel[5];
var lineh[5];
var to[6];
var at[6];
var savename[256];
var savenam[256];
var xsavename[256];
linel := @head(line,{ })+0;
lineh := @body(line,{ })+0;
log:={};
display({%listcut 1(}|file|{) 2(}|line|{)\n} );
fopen(file);
loop({
a := @fread(lstchkketa,lstchkmoji);
/*footnote({0(}|a|{)});*/
case(@getchar(a,lstchkketa,@nochar(lstchkmoji)) =lstchkmoji ,
{Yes},{footnote({1(}|a|{)});
case(@instr(a,discmoji)=0,
{Yes},{footnote({2(}|a|{)});
case(@getchar(a,lstnamketa,lstcutnamketa) >= linel ,
{Yes},{
case(@getchar(a,lstnamketa,lstcutnamketa) <= lineh ,
{Yes},{
case(@getchar(a,lstnamketa,lstcutnamketa) <> b,{Yes},{
case(log={},{Yes},{xsavenam:=savenam;});
savenam:=@spdel(@getchar(a,lstnamketa,3));
savename:=listdir|@body(file,{.})|{list#.}|@getchar({000},1,3-@nochar(xsavenam))|xsavenam;
display(/*savenam|xsavenam|*/(xsavenam=savenam));
case((xsavenam=savenam),
{Yes},{
log :=log | a;
},
{No},{
display(@getchar({000},1,3-@nochar(xsavenam))|xsavenam|{\n});
/*display(log|{\n});*/
write(savename,log);
log:=a;
},
);
xsavenam:=savenam;
});
});
});
});
});
im(a <> {});
});
fclose;
display(@getchar({000},1,3-@nochar(savenam))|savenam|{\n});
/*display(log|{\n});*/
case(log<>{},{Yes},{
write(savename,log);
log:={};
}
);
lstchkmoji:=djllchmoji;
lstchkketa:=djllchketa;
/*wait(1);*/
im(log);
};
%listget3{[bbs,to,at,line]
var flist[1024*5];
var afile[16];
var out[1024*10];
var linel[5];
var lineh[5];
case(listcval={No} ,{No},{getlist3(bbs,{1 99999});});
display({%listget3 bbs(}|bbs|{) to(}|to|{) at(}|at|{) line(}|line|{)\n});
linel := @head(line,{ })+0;
lineh := @body(line,{ })+0;
getdir(listdir|bbs|{list#.*});
wait(1);
command(sysdir|{sort <}|logdir|{dir___.dir >}|tmpdir|{dir___.srt});
flist:=@read(tmpdir|{dir___.srt});
loop({
/*display(@getchar(@body(flist,{ }),1,3)|{>=}|@getchar({000}|linel,@nochar(linel)-1,3)|{ });*/
case(@getchar(@body(flist,{ }),1,3)>=@getchar({000}|linel,@nochar(linel)-1,3),
{Yes},{
afile:=@tail(@head(flist,{ }),{\n})|{.}|@getchar(@body(flist,{ }),1,3);
case(@filechk(listdir|afile),
{Yes},{ out := out|@listgrep(listdir|afile,to,at,linel);});
});
flist:=@body(flist,{\n});
im(flist <> {});
});
/*wait(1);*/
im(out);
};
%memosave{
var i[256];
i:=0;
case(@mcheck=0,{No},{mclose(1);});
loop({
i:=i+1;
mwrite(tmpdir|{memo}|hh|mm|{.me}|i,i);
im(@mlast>i);
});
};
/* main */
/*setcdir(logdir);*/
/*memosave;*/
footnote({手続きファイルを選んでください});
pad := @read(@filesel({SMN}));
footnote(meeversion|{ 動作中});
init;
shellmina;
stop;